package com.tjsinfo.tjsoa.mail.bo;

import java.util.Date;
import java.util.List;

import com.tjsinfo.tjsoa.mail.vo.TjsAnnex;
import com.tjsinfo.tjsoa.mail.vo.TjsDraft;

/**
 * 草稿Bo
 * @author wangxiaowei
 *
 */
public interface ITjsDraftBo {
	/**
	 * 添加草稿
	 * @param 标题
	 * @param 内容
	 * @param 时间
	 * @param 类型
	 * @param 用户ID
	 * @return 是否成功
	 */
	public boolean addTjsDraf(String title,String value,Date time,Integer type,Integer userid,String zhusong,String chaosong,String misong,List<TjsAnnex> tjsAnnexs);
	/**
	 * 删除草稿
	 * @param id
	 * @return 
	 */
	public boolean deleteTjsDraf(String drafid);
	/**
	 * 更新草稿
	 * @param id
	 * @param 标题
	 * @param 内容
	 * @param 类型
	 * @return
	 */
	public boolean updateTjDraf(String drafid,String title,String value,Integer type);
	/**
	 * 草稿发送邮件
	 * @param 草稿ID
	 * @param 接收人集合
	 * @param 性质 1主送 2抄送 3密送
	 * @return
	 */
	public boolean sendTjDraf(String drafid,String[] sendstrarray, Integer nature,String username);
	/**
	 * 查询一个草稿
	 * @param id
	 * @return
	 */
	public TjsDraft selectById(String id);
	/**
	 * 根据用户ID查询他的草稿
	 * @param 用户ID
	 * @return
	 */
	public List<TjsDraft> selectDraftByUserid(Integer userid);
	/**
	 * 修改草稿的状态
	 * @param id数组
	 * @param 状态
	 * @return
	 */
	public boolean updateDraftStart(String[] array,Integer start);
	/**
	 * 修改草稿的类型
	 * @param id数组
	 * @param 状态
	 * @return
	 */
	public boolean updateDraftType(String[] array,Integer type);
	/**
	 * 修改草稿的标签
	 * @param id数组
	 * @param 状态
	 * @return
	 */
	public boolean updateDraftTag(String[] array,Integer tag);
	/**
	 * 删除草稿
	 * @param id
	 * @return 
	 */
	public boolean deleteTjsDraf(String[] drafidarray);
	/**
	 * 草稿文件移动
	 * @param 草稿数组
	 * @param 文件夹ID
	 * @return
	 */
	public boolean moveTjsDraf(String[] drafindarray,String foldid);
	/**
	 * 根据草稿ID查询
	 * @param 草稿ID
	 * @return
	 */
	public TjsDraft selectOneById(String draftid);
	
	/**
	 * 根据标题查询
	 * @param title
	 * @return
	 */
	public List<TjsDraft> selectTitle(String title,Integer userid);
	
}
